package com.lct.d2_ploymorphism;



public class Test {
	public static void main(String[] args) {
		//多态下右边对象是解耦合的
		Animal a = new Cat();
		a.cry();

		Cat c = new Cat();
		go(c);

		Dog d = new Dog();
		go(d);

		System.out.println("----------------------------");

		//多态下存在的一个问题，不能直接调用子类独有的功能
//		a.catchFish();





	}

	//多态下，父类类型作为方法的形参，可以接受一切子类对象，方法更便捷
	public  static void go(Animal a){
		System.out.println("开始...");
		a.cry();
		System.out.println("结束...");
	}


}
